package com.hksj.Intelligentmanagement.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @Author zengke
 * @ClassName DeviceEntity
 * @Date 2023/3/14 8:55
 * @Version 1.0
 * @Description TODO
 */

@Data
//这里的EqualsAndHashCode中变量callSuper指的是,当两个子类字段比较时,是否将父类中继承的字段也拿来比较
/**
 * 例如: 如果callSuper=false如果不加@EqualsAndHashCode注解,默认为false,则比较两个子类对象 deviceEntity1 和 deviceEntity2
 * 只比较DeviceEntity里的字段值,不会比较BaseEntity里的id 、 createTime 、updateTime
 *
 * callSuper=true,则比较两个子类对象deviceEntity1 和 deviceEntity2 除了比较DeviceEntity本身就有的值
 * 还会比较从父类BaseEntity中继承的id、createTime 、updateTime的值
 */
@EqualsAndHashCode(callSuper = true)
@TableName("mqtt_device")
@ApiModel
public class DeviceEntity extends BaseEntity {


    //设备名称
    @ApiModelProperty("设备名称")
    private String deviceName;

    //设备备注名
    @ApiModelProperty("设备备注名")
    private String nickName;

    //设备密钥
    @ApiModelProperty("设备密钥")
    private String deviceSecret;

    //生产厂商名称
    @ApiModelProperty("生产厂商名称")
    private String manufacturerName;

    //生产厂商电话
    @ApiModelProperty("生产厂商电话")
    private String manufacturerPhone;

    //设备二维码地址
    @ApiModelProperty("设备二维码地址")
    private String qrCodePath;

    //设备所属区域编号
    @ApiModelProperty("设备所属区域编号")
    private String orgNum;

    //逻辑删除
    @ApiModelProperty("逻辑删除标志")
    @TableLogic //默认为  0:未删除,1:已删除
    @TableField(fill = FieldFill.INSERT) //插入时自动填充该字段 如果在数据库中设置过插入时的默认值这里可以不加这个注解
    private Integer delFlag;

}
